package com.module.lemlin.http

import rxhttp.wrapper.entity.ParameterizedTypeImpl
import rxhttp.wrapper.parse.AbstractParser

//@Parser(name = "Response", wrappers = [List::class])
//open class HttpServiceParse<T> : AbstractParser<T> {
//
//    protected constructor() : super()
//
//    constructor(type: Type) : super(type)
//
//    override fun onParse(response: okhttp3.Response): T {
//        val serviceData: HttpResponseData<T> =
//            response.convert(ParameterizedTypeImpl[HttpResponseData::class.java, mType])
//
//        val data: T? = serviceData.data
//
//        return if (serviceData.code != 200) {
//            throw ParseException(
//                serviceData.code.toString(), serviceData.msg, response
//            )
//        } else if (data == null || mType == String::class.java) {
//            throw ParseException(
//                "10000", serviceData.msg, response
//            )
//        } else if (data is List<*>) {
//            if (data.size == 0) {
//                throw ParseException(
//                    "20000", serviceData.msg, response
//                )
//            } else data
//        } else data
//
//    }
//
//}